Google Calendar
Google Calendar
Google Calendar MCP 서버는 Model Context Protocol을 통해 Claude와 같은 AI 어시스턴트가 사용자의 Google Calendar와 상호작용할 수 있도록 해주는 인터페이스입니다. 이 통합을 통해 AI 어시스턴트는 자연어로 캘린더 이벤트를 생성, 조회, 업데이트, 삭제할 수 있습니다.
특징
- 일정 관리: 이벤트 생성, 조회, 업데이트, 삭제 기능 제공
- 다중 캘린더 지원: 개인 및 업무 캘린더 등 여러 캘린더에 접근 가능
- OAuth 2.0 인증: 보안 인증을 통한 Google Calendar API 접근
- 이미지 처리: 스크린샷에서 이벤트 정보를 추출하여 자동으로 캘린더에 추가
- 공유 캘린더: 다른 사용자와 캘린더 공유 및 권한 관리
- 실시간 업데이트: 서버-클라이언트 실시간 통신을 위한 SSE(Server-Sent Events) 지원
- 일정 분석: 일정에 대한 통계 및 분석 기능
API
리소스
- Events: 캘린더의 이벤트를 나타내는 리소스로, 제목, 시작/종료 시간, 참석자 등의 정보 포함
- Calendars: 캘린더 자체에 대한 메타데이터(설명, 기본 시간대 등)를 포함
- CalendarList: 사용자의 캘린더 목록
- Settings: 사용자 기본 설정(시간대 등)
- ACL(Access Control Lists): 캘린더에 대한 사용자 또는 그룹의 접근 권한 설정
도구
list_gcal_calendars
사용자의 Google Calendar 목록을 조회합니다. - 입력: - page_token(선택): 페이지네이션 토큰
list_gcal_events
특정 캘린더의 이벤트 목록을 조회합니다. - 입력: - calendar_id: 이벤트를 조회할 캘린더 ID(기본값: 'primary') - max_results: 반환할 최대 이벤트 수(기본값: 25) - page_token: 페이지네이션 토큰(선택) - query: 자유 텍스트 검색어(선택) - time_min: 조회 시작 시간(RFC3339 형식, 선택) - time_max: 조회 종료 시간(RFC3339 형식, 선택) - time_zone: 응답에 사용할 시간대(선택)
fetch_gcal_event
특정 이벤트의 상세 정보를 조회합니다. - 입력: - calendar_id: 이벤트가 속한 캘린더 ID - event_id: 조회할 이벤트 ID
find_free_time
여러 캘린더에서 비어있는 시간을 찾습니다. - 입력: - calendar_ids: 분석할 캘린더 ID 목록 - time_min: 검색 시작 시간(RFC3339 형식) - time_max: 검색 종료 시간(RFC3339 형식) - time_zone: 시간대(선택)
create_event
새 캘린더 이벤트를 생성합니다. - 입력: - calendar_id: 이벤트를 생성할 캘린더 ID - summary: 이벤트 제목 - description: 이벤트 설명(선택) - location: 위치 정보(선택) - start_time: 시작 시간(RFC3339 형식) - end_time: 종료 시간(RFC3339 형식) - attendees: 참석자 목록(이메일 주소, 선택) - reminders: 알림 설정(선택)
update_event
기존 이벤트를 업데이트합니다. - 입력: - calendar_id: 이벤트가 속한 캘린더 ID - event_id: 업데이트할 이벤트 ID - summary: 이벤트 제목(선택) - description: 이벤트 설명(선택) - location: 위치 정보(선택) - start_time: 시작 시간(RFC3339 형식, 선택) - end_time: 종료 시간(RFC3339 형식, 선택) - attendees: 참석자 목록(이메일 주소, 선택) - reminders: 알림 설정(선택)
delete_event
이벤트를 삭제합니다. - 입력: - calendar_id: 이벤트가 속한 캘린더 ID - event_id: 삭제할 이벤트 ID
사용 방법
설치 및 구성
- Google Cloud Console에서 프로젝트 생성 및 Google Calendar API 활성화
- OAuth 2.0 인증 자격 증명 설정
- 애플리케이션 유형으로 'Desktop app' 선택
- 생성된
credentials.json파일 다운로드 - MCP 서버 설치 및 구성
- NPM 패키지 설치:
npm install또는 UV 패키지 매니저 사용 credentials.json을 서버 루트 디렉토리에 배치- Claude Desktop 구성 파일에 MCP 서버 추가
{ "mcpServers": { "google-calendar": { "command": "node", "args": ["/절대/경로/구글캘린더/build/index.js"] } } } - 서버 실행 시 OAuth 인증 과정 완료
- 로컬 웹 서버가 일시적으로 시작됨(포트 3000-3004)
- 웹 브라우저에서 Google 계정 로그인 및 권한 동의
- 성공 시 토큰이
.gcp-saved-tokens.json파일에 저장됨
필요한 OAuth 스코프
https://www.googleapis.com/auth/calendar.events: 이벤트 관리용https://www.googleapis.com/auth/calendar: 더 광범위한 권한(필요시)
주의사항
- 테스트 모드에서는 인증 토큰이 7일 후 만료됨
- 프로덕션 환경에서는 Google의 OAuth 애플리케이션 검증을 고려해야 함